package com.letv.datastatistics.entity;

/**
 * play相关信息 {@see http://wiki.letv.cn/display/DataQuality/play}
 * 
 * @author jiancong
 *
 */
public class StatisticsPlayInfo {
    /**
     * 动作名称
     * 
     * launch 触发播放器被调用时上报
     * init 播放器开始初始化时上报
     * play 正片开始播放时上报
     * time 播放心跳动作(15s-60s-180s-180s-...-,详见文档说明)
     * block 顿开始时上报
     * eblock 卡顿结束（卡顿之后恢复正常播放）时上报
     * end 只要结束播放都需要上报该动作。例如：退出、切到后台等
     * finish 播放到视频末尾时上报。注：跳过片尾的情形算作播放完成
     */
    private String ac;
    /**
     * 播放时长, 单位:秒,time动作时，必须上报
     */
    private int playTime;
    /**
     * 动作耗时, 单位:毫秒
     */
    private int uTime;
    /**
     * 一次播放过程，播放器生成唯一的UUID, 如果一次播放过程出现了切换码率/暂停等，那么uuid的后缀加1
     */
    private String uuid;
    /**
     * 频道ID[选填]
     */
    private String cid;
    /**
     * 专辑ID[选填]
     */
    private String pid;
    /**
     * 视频ID[选填]
     */
    private String vid;
    /**
     * 视频时长,单位:秒
     * 在取不到vlen的场景下，同时又知道此时长比较长（例如轮播和直播都是长视频），就赋予一个较大值6000
     */
    private int vLen;
    /**
     * 重试次数, 第n(n>0次成功,retry = n-1
     */
    private int retry;
    /**
     * 0:点播,1:直播,2:轮播,3:缓存播放,4:播放本地视频
     * (缓存播放正片上报到py中，广告上报到ty)
     */
    private String ty;
    /**
     * 播放器的码流
     */
    private String vType;
    /**
     * 视频播放地址
     */
    private String url;
    /**
     * 播放器来源地址
     */
    private String ref;
    /** current time：时间戳，单位 毫秒 **/
    private long cTime = 0;
    /** [必填] 0：免费 1：收费视频试看 2：付费观看, play时上报 **/
    private int pay = 0;
    /** [必填] 0：无广告 1：有广告已拼接 2：有广告未拼接, play时上报 **/
    private int joint = 0;
    /** [必填] 0：直接点播 1：连播 2：切换码流 **/
    private int ipt = 0;

    public long getcTime() {
        return cTime;
    }

    public void setcTime(long cTime) {
        this.cTime = cTime;
    }

    public int getPay() {
        return pay;
    }

    public void setPay(int pay) {
        this.pay = pay;
    }

    public int getJoint() {
        return joint;
    }

    public void setJoint(int joint) {
        this.joint = joint;
    }

    public int getIpt() {
        return ipt;
    }

    public void setIpt(int ipt) {
        this.ipt = ipt;
    }
}
